#pragma once

#include "IAsyncResult.h"
#include "../Threading/ManualResetEvent.h"

namespace xgu{

class AsyncResult : public IAsyncResult
{
public:
	AsyncResult(void);
	virtual ~AsyncResult(void);

	virtual Threading::WaitHandle& getAsyncWaitHandle()
	{
		return event_;
	}
	virtual bool IsComplete() const
	{
		return completed_;
	}

private:
	bool completed_;
	Threading::ManualResetEvent event_;
};

}
